package com.ev.k3cloud.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
public class K3CloudBillPushEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "单据内码集合，字符串类型，格式：\"Id1,Id2,...\"（使用内码时必录）")
    @JSONField(name="Ids")
    private String ids;

    @ApiModelProperty(value = "单据编码集合，数组类型，格式：[No1,No2,...]（使用编码时必录）")
    @JSONField(name="Numbers")
    private String[] numbers;

    @ApiModelProperty(value = "分录内码集合，逗号分隔（分录下推时必录） 注（按分录下推时，单据内码和编码不需要填,否则按整单下推）")
    @JSONField(name="EntryIds")
    private String entryIds;

    @ApiModelProperty(value = "转换规则内码，字符串类型（未启用默认转换规则时，则必录）")
    @JSONField(name="RuleId")
    private String ruleId;

    @ApiModelProperty(value = "目标单据类型内码，字符串类型（非必录）")
    @JSONField(name="TargetBillTypeId")
    private String targetBillTypeId;

    @ApiModelProperty(value = "目标组织内码，整型（非必录）")
    @JSONField(name="TargetOrgId")
    private Integer targetOrgId = 0;

    @ApiModelProperty(value = "目标单据FormId，字符串类型，（启用默认转换规则时，则必录）")
    @JSONField(name="TargetFormId")
    private String targetFormId;

    @ApiModelProperty(value = "是否启用默认转换规则，布尔类型，默认false（非必录）")
    @JSONField(name="IsEnableDefaultRule")
    private Boolean isEnableDefaultRule = false;

    @ApiModelProperty(value = "保存失败时是否暂存，布尔类型，默认false（非必录）  注（暂存的单据是没有编码的）")
    @JSONField(name="IsDraftWhenSaveFail")
    private Boolean isDraftWhenSaveFail = false;

    @ApiModelProperty(value = "自定义参数，字典类型，格式：\"{key1:value1,key2:value2,...}\"（非必录）  注（传到转换插件的操作选项中，平台不会解析里面的值）")
    @JSONField(name="CustomParams")
    private Object customParams;
}
